package com.scott.crm.holiday.service;

import com.scott.crm.holiday.bean.HolidayBean;
import com.scott.crm.holiday.dto.HolidayDto;

import java.util.List;

/**
 * @author 王伟雄
 * @create 2021/11/30 14:45
 */
public interface HolidayService {
    /**
     * 方法描述:学生提交申请请假
     * @author: 王伟雄
     * @date: 2021/11/21 18:23
     * @params: [holidayBean]
     * @returns:java.lang.Integer
     */
    Integer addByStudent(HolidayBean holidayBean);

    /**
     * 方法描述:学生撤销请假申请
     * @author: 王伟雄
     * @date: 2021/11/21 18:22
     * @params: [holidayBean]
     * @returns:java.lang.Integer
     */
    Integer deleteByStudent(HolidayBean holidayBean);

    /**
     * 方法描述:老师更改请假信息
     * @author: 黄后林
     * @date: 2021/11/22 9:53
     * @params: [holidayBean]
     * @returns:java.lang.Integer
     */
    Integer updateByTeacher(HolidayDto dto);

    /**
     * 方法描述:学生查看自己的请假列表
     * @author: 王伟雄
     * @date: 2021/11/21 18:25
     * @params: [id]
     * @returns:java.util.List<com.ysx.oa.holiday.bean.HolidayBean>
     */
    List<HolidayBean> findByStudent(Integer id);

    /**
     * 方法描述:学生查看自己的请假列表，带有分页
     * @author: 王伟雄
     * @date: 2021/11/30 16:10 [begin, end, id] java.util.List<com.scott.crm.holiday.bean.HolidayBean>
     */
    List<HolidayBean> findByStudent(Integer begin,Integer end,Integer id);

    /**
     * 方法描述:老师查看学生的请假列表
     * @author: 王伟雄
     * @date: 2021/11/21 18:29
     * @params: [id]
     * @returns:java.util.List<com.ysx.oa.holiday.bean.HolidayBean>
     */
    List<HolidayBean> findByTeacher(HolidayBean holidayBean);

    /**
     * 方法描述:老师查看学生的请假列表，带有分页
     * @author: 王伟雄
     * @date: 2021/12/1 21:12 [begin, end, id, flag] java.util.List<com.scott.crm.holiday.bean.HolidayBean>
     */
    List<HolidayBean> findByTeacherLimit( Integer begin, Integer end, HolidayBean holidayBean);

}
